﻿/*! @file
********************************************************************************
<PRE>
文 件 名    : MemoryLog.cs
说    明    : 内存日志实现类
作    者    : 汪泽然
--------------------------------------------------------------------------------
备    注    : 
--------------------------------------------------------------------------------
修改记录: 
 * 日   期      版  本       修改人      修改内容 
 * 2009-7-8     0.5.0        汪泽然      增加写入日志功能
</PRE>
********************************************************************************
* 版权所有(c) 2008 ~ 2009, 汪泽然, 保留所有权利
*******************************************************************************/
using System;
using System.Text;

namespace Wangzeran.Transform.Core.Log
{
    /// <summary>
    /// 内存日志
    /// </summary>
    public class MemoryLog : ILog
    {
        /// <summary>
        /// 日志内容
        /// </summary>
        private static StringBuilder logContents = new StringBuilder();


    	#region ILog成员
    	
        /// <summary>
        /// 写入日志
        /// </summary>
        /// <param name="contents">日志内容</param>
		public void WriteLog(params string[] contents)
		{
            logContents.AppendLine(DateTime.Now + "：");
            foreach (string content in contents)
            {
                logContents.AppendLine(content);
            }
            logContents.AppendLine();
		}

        /// <summary>
        /// 写入 日志内容
        /// </summary>
        /// <param name="content">日志内容</param>
        /// <param name="contents">日志内容</param>
        public void WriteLog(string content, params string[] contents)
        {
            logContents.AppendLine(DateTime.Now + "：");
            logContents.AppendLine(content);
            foreach (string item in contents)
            {
                logContents.AppendLine(item);
            }
            logContents.AppendLine();
        }

        /// <summary>
        /// 日志内容
        /// </summary>
        public object LogContents
        {
            get
            {
                return logContents.ToString();
            }
        }
		
        /// <summary>
        /// 清空日志
        /// </summary>
        public void ClearLog()
        {
            logContents.Remove(0, logContents.Length);
        }

        #endregion
    }
}
